 .table-container {
     max-width: 1400px;
     margin: 0 auto;
     background-color: var(--light-color);
     border-radius: 1rem;
     box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
     overflow: hidden;
 }

 .table-header {
     padding: 1.5rem;
     display: flex;
     justify-content: space-between;
     align-items: center;
     border-bottom: 1px solid var(--border-color);
 }

 .table-title {
     font-size: 1.25rem;
     font-weight: 600;
     color: var(--dark-color);
 }

 .search-filter {
     display: flex;
     gap: 1rem;
 }

 .search-input {
     padding: 0.5rem 1rem;
     border: 1px solid var(--border-color);
     border-radius: 0.5rem;
     width: 200px;
     outline: none;
     transition: border-color 0.2s ease;
 }

 .search-input:focus {
     border-color: var(--secondary-color);
 }

 .filter-select {
     padding: 0.5rem 1rem;
     border: 1px solid var(--border-color);
     border-radius: 0.5rem;
     background-color: var(--light-color);
     outline: none;
     transition: border-color 0.2s ease;
 }

 .filter-select:focus {
     border-color: var(--secondary-color);
 }

 .table-wrapper {
     overflow-x: auto;
 }

 .data-table {
     width: 100%;
     border-collapse: collapse;
 }

 .data-table th,
 .data-table td {
     padding: 1rem 1.5rem;
     text-align: left;
     border-bottom: 1px solid var(--border-color);
 }

 .data-table th {
     background-color: var(--neutral-color);
     font-weight: 600;
     color: var(--dark-color);
     position: relative;
     cursor: pointer;
     transition: background-color 0.2s ease;
 }

 .data-table th:hover {
     background-color: #E2E8F0;
 }

 .sort-icon {
     margin-left: 0.5rem;
     color: rgba(0, 0, 0, 0.4);
     font-size: 0.875rem;
 }

 .data-table td {
     color: var(--dark-color);
     white-space: nowrap;
 }

 .data-table tr:last-child td {
     border-bottom: none;
 }

 .data-table tr:hover {
     background-color: var(--hover-color);
     transition: background-color 0.2s ease;
 }

 .status-badge {
     display: inline-block;
     padding: 0.25rem 0.75rem;
     border-radius: 999px;
     font-size: 0.875rem;
     font-weight: 500;
 }

 .status-pending {
     background-color: rgba(245, 158, 11, 0.1);
     color: var(--warning-color);
 }

 .status-approved {
     background-color: rgba(16, 185, 129, 0.1);
     color: var(--success-color);
 }

 .status-rejected {
     background-color: rgba(239, 68, 68, 0.1);
     color: var(--error-color);
 }

 .action-buttons {
     display: flex;
     gap: 0.5rem;
 }

 .action-button {
     padding: 0.375rem 0.75rem;
     border: none;
     border-radius: 0.375rem;
     cursor: pointer;
     font-size: 0.875rem;
     transition: all 0.2s ease;
     display: flex;
     align-items: center;
     gap: 0.25rem;
 }

 .action-view {
     background-color: rgba(59, 130, 246, 0.1);
     color: var(--secondary-color);
 }

 .action-edit {
     background-color: rgba(16, 185, 129, 0.1);
     color: var(--success-color);
 }

 .action-delete {
     background-color: rgba(239, 68, 68, 0.1);
     color: var(--error-color);
 }

 .action-button:hover {
     transform: translateY(-1px);
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
 }

 .action-button:active {
     transform: translateY(0);
 }

 .pagination {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 1rem 1.5rem;
     border-top: 1px solid var(--border-color);
 }

 .pagination-info {
     font-size: 0.875rem;
     color: #64748B;
 }

 .pagination-controls {
     display: flex;
     gap: 0.5rem;
 }

 .page-button {
     width: 2rem;
     height: 2rem;
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: 0.375rem;
     border: 1px solid var(--border-color);
     background-color: var(--light-color);
     color: var(--dark-color);
     cursor: pointer;
     transition: all 0.2s ease;
 }

 .page-button:hover {
     background-color: var(--neutral-color);
 }

 .page-button.active {
     background-color: var(--primary-color);
     color: var(--light-color);
     border-color: var(--primary-color);
 }

 .page-button.disabled {
     opacity: 0.5;
     cursor: not-allowed;
 }

 @media (max-width: 768px) {
     .table-header {
         flex-direction: column;
         gap: 1rem;
         align-items: flex-start;
     }

     .search-filter {
         flex-direction: column;
         gap: 0.5rem;
         width: 100%;
     }

     .search-input,
     .filter-select {
         width: 100%;
     }

     /* 修改分页控件的响应式布局 */
     .pagination {
         flex-direction: column;
         gap: 1rem;
         align-items: flex-start;
         /* 改为左对齐，防止文字垂直排列 */
     }

     /* 确保分页按钮容器保持水平排列 */
     .pagination-controls {
         flex-direction: row;
     }
 }